from dotenv import load_dotenv
import os
from pathlib import Path

# 获取项目根目录
basedir = Path(__file__).parent

# 加载 .env 文件中的环境变量
load_dotenv(os.path.join(basedir, '.env'))

class Config:
    """应用配置类"""

    # 从环境变量获取数据库配置
    MYSQL_USER = os.getenv('MYSQL_USER', 'root')  # 默认值为 root
    MYSQL_PASSWORD = os.getenv('MYSQL_PASSWORD', '')
    MYSQL_HOST = os.getenv('MYSQL_HOST', 'localhost')
    MYSQL_PORT = os.getenv('MYSQL_PORT', '3306')
    MYSQL_DATABASE = os.getenv('MYSQL_DATABASE', 'flask_shop_api')
    JWT_SECRET_KEY = os.getenv('JWT_SECRET_KEY')

    # SQLAlchemy 配置
    # 构建 MySQL 连接 URL
    SQLALCHEMY_DATABASE_URI = f"mysql+pymysql://{MYSQL_USER}:{MYSQL_PASSWORD}@{MYSQL_HOST}:{MYSQL_PORT}/{MYSQL_DATABASE}"

    # 是否追踪对象的修改并发送信号
    SQLALCHEMY_TRACK_MODIFICATIONS = False

    # 新增: JWT配置
    JWT_SECRET_KEY = os.getenv('JWT_SECRET_KEY', 'your-secret-key')  # JWT加密密钥
    JWT_ACCESS_TOKEN_EXPIRES = 3600  # token有效期：1小时